1. Field of the Invention
The present invention relates to a method of collecting/distributing message data or data which are stored in each processing device in a distribution processing system, and particularly to a method and an apparatus for collecting and integrating data which are distributed to and stored in plural processing devices, fabricating the integrated data and then supplying the integrated data to an application program.
2. Description of the Related Art
In a distribution processing system, data which are used by an application program means data which are transmitted as message data or data which are stored in a memory or a disk of the processing device containing the application program (hereinafter referred to as "self processing device") or another processing device. The timing at which the application program starts its processing is set to the time point at which it is notified upon reception of a message from another application program, or the application program itself monitors the time point. That is, according to this system, in response to a request of an application program at a reception side, an application program at a message transmission side collects data requested by the application program at the reception side from a storage medium thereof, arranges data items required by the reception side and then transmits the data items thus arranged while continuing message data, or the application program at the message transmission side periodically transmits a reference message until the application program at the reception side obtains the required data, thereby collecting the required data by using an access method which is varied in accordance with the storage medium of the data.
Further, as a means of extracting and supplying data items requested by an application program, there has been known a data base management system (DBMS) for managing a relational data base (RDB) which is described in "Mastering Middle Ware" of Network Computing (the June issue of 1994) pp9-23. This system has a function of specifying a condition to extract the data items required by an application program from a table of RDB in which actual data are stored. According to this method, when an application program requests data, an extraction task of extracting the requested data items is performed, and the extracted data are delivered to the application program. Here, the style of the data to be delivered to the application program is determined by an interface between this system and the application program, and for example it is a text style or an original object style. Therefore, in order to use the extracted data for processing, it is necessary to identify the style of the data returned from the DBMS and to convert the style of the data properly.
The application program obtains data and performs processing on the data at a certain timing. Since requested data are different for every program, this timing and the input data are determined for every program. In accordance with processing performance or capacity, the input data are classified into data which are stored in a memory or a disk, data which are transmitted in a message form, or data of a transfer memory style which has a combination of the above two styles. Here, the transfer memory style is defined as a data style in which a copy of information written into a memory by a user is automatically transferred to another memory for use.
These data comprise plural data items, and the program extracts some of data items from each of plural storage media and integrates the plural data items thus extracted for use. Further, an event serving as a trigger to collect the data occurs in a processing device in which the program exists (i.e., self processing device), but, it may frequently occur in another processing device.
According to a conventional technique, unless an application program requests data stored in the self processing device (i.e., the processing device having the application program) or another processing device, the data cannot be obtained. Further, when data are distributively stored in plural storage media, only a part of the data can be extracted from each storage medium. Therefore, an application program which transmits a message serving as a start timing for the processing, or an application program which performs the processing must detect/notify the timing and collect/integrate the data. For the notification of the timing, the processing of notifying an event is required to be prepared at the event occurrence side and the processing of receiving the event is required to be prepared at the application program side. Further, the application program is required to detect occurrence of an event by itself through periodic polling or the like. In addition, when the data are collected and integrated, it is necessary for data to be obtained through an access method which is different for every storage medium like a transfer memory or a disk, or for an access to be made to RDB to collect the requested latest data when the occurrence of an event is detected. Alternatively, it is necessary for data to be collected at all times even when some of the data thereof are not necessary, and when some data are needed, the data have to be extracted from the collected data and used. Therefore, the application program must be provided with code for event detection processing and data collection processing in addition to the processing which is originally required by the application program, so that the number of developing steps of the application program is increased.
Further, when the performance of the system is tuned or modified, the arrangement of the application programs is varied, or the data storage medium or the data transmission medium is altered. When the application program itself is modified, data items and events which are necessary are altered. In these cases, in the conventional technique it is also necessary for the source code of the application program to be reviewed to correct an event detection portion and a data collecting portion other than the main processing portion. When the program at the event transmission side collects/integrates data, a program which transmits an event to be modified must be reviewed, resulting in an increase of the number of steps for the modification.
Still further, there is a case where relational data are collected in response to occurrence of an event for control data in a control system or a case where relational data are collected when an abnormality occurs. A method of collecting data one after another after detection of an event, although relational data are needed at the time the event occurs, has the problem that it has a low real-time performance for data. Particularly when data are obtained from a remote place through plural transmission media, it is further difficult to guarantee the real-time performance due to a communication load and a transmission delay of a transmission path.
Therefore, the present invention has been implemented to solve the above problem, and has an object to provide a distributed information integrating method and apparatus which can arrange data requested by a request side and supply the arranged data to the request side at a timing requested by the request side irrespective of a location of a processing device in which the data are stored, and also which can make an application program at the request side independent of changes of data storage medium or a transmission medium used for data collection.